home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
500 MB Nyheder Direkte fra Internet 2
/
500 MB nyheder direkte fra internet CD 2.iso
/
start
/
data
/
text
/
faq-1409.txt
< prev
next >
Wrap
Text File
|
1995-05-03
|
44KB
|
979 lines
Archive-name: tcl-faq/part1
Comp-lang-tcl-archive-name: tcl-faq.part01
Version: 6.7
Last-modified: Apr. 28, 1995
For more information concerning Tcl (see "tcl-faq/part2"),
(see "tcl-faq/part3"), (see "tcl-faq/part4"), or (see "tcl-faq/part5").
Also (see "tcl-faq/commercial-uses"), (see "tcl-faq/usage"),
(see "tcl-faq/bibliography/part1").
Index of questions:
I. Origin of the comp.lang.tcl FAQ information and
to whom do I contact for more information about the FAQ?
II. What is Tcl? Tk? Extended Tcl? Rush? What is Tcl _not_?
III. Do these packages run on my machine?
A. Unix
B. MacOS
C. INTEL DOS-like systems
D. VMS
E. AmigaDOS
F. NeXT
G. Other
IV. Other than C, What languages can talk to tcl/tk?
A. Shell
B. C++
C. Modula-3
D. Eiffel
E. Ada
F. Perl
G. Prolog
H. Other
V. What training material is available?
A. Training courses, materials, etc.
B. Time-related seminars, conferences, sessions.
VI. Where do I report problems, bugs, or enhancements about Tcl - or -
what is comp.lang.tcl?
End of FAQ Index
----------------------------------------------------------------------
------------------------------
From: FAQ General information
Subject: -I- Origin of the comp.lang.tcl FAQ information.
The information in this set of FAQs comes from several sources. The
primary source of information is the group itself - I spend (much too
much) time each month culling through what I feel are some of the best
answers, gathering up new information on ports, etc. and adding it
here. I also gather new application information and add it as
best I can. The next most predominant source of information comes from
the authors of the various software packages. Finally, a small amount
comes from my personal experiences.
The primary location for the commercial use of Tcl FAQ is
<URL:ftp://ftp.aud.alcatel.com/tcl/docs/tcl-commercial-faq.gz>.
The author is <URL:mailto:gwl@cpu.com> (Gerald W. Lester). This FAQ
contains information either about commercial products which incorporate
Tcl as a part of them or firms which teach about Tcl and Tk in some
manner.
The Japanese translation of the comp.lang.tcl FAQ can be
located at <URL:ftp://ftp.aud.alcatel.com/tcl/docs/tcl-faq-j5.3.tar.gz>.
This file contains Japanese EUC-Kanji codes. Contact
<URL:mailto:taguchi@fox.aic.co.jp> (Taguchi Takeshi) for more information.
Three new general FAQs are in progress. These are spin-offs
from this original source document. The first will contain a bibliography
of published material related to Tcl, and will be managed by
<URL:mailto:glv@utdallas.edu> (Glenn Vanderburg).
(See "tcl-faq/bibliography/part1")
or ftp it at <URL:ftp://ftp.aud.alcatel.com/tcl/docs/tcl-faq-bib.gz>.
The second FAQ will contain the series of Tcl-related questions
and answers and is managed by <URL:mailto:joe@morton.rain.com> (Joe Moss).
(See "tcl-faq/usage") or find it at
<URL:ftp://ftp.aud.alcatel.com/tcl/docs/tcl-faq-Q-and-A.gz>.
The third will contain Tk-related questions and answers and
is managed by <URL:mailto:tja@cpu.com> (Thomas J. Accardo). You can
(see "tcl-faq/tk/part1") or find it
at <URL:ftp://ftp.aud.alcatel.com/tcl/docs/tcl-faq-tk-usage.gz>
If you have corrections, enhancements, modifications,
clarifications, suggestions, ideas, new questions, new answers to
questions which have never been asked, or something else that I have
not covered above, contact me at <URL:mailto:lvirden@cas.org>.
------------------------------
From: FAQ General information
Subject: -II- What is Tcl? Tk? Extended Tcl?
o Highlights of Tcl based languages
Tcl and Tk originated with Dr. John Ousterhout (Oh'-stir-howt -
last syllable rhymes with route, not root) from the University of California,
Berkeley, California.
Tcl (current release version 7.3) stands for ``tool command
language'' and is pronounced ``tickle.'' The author's home ftp site for
the Tcl source code is <URL:ftp://ftp.cs.berkeley.edu/ucb/tcl/>.
Tcl is actually two things: a language and a library. First, Tcl is a
simple textual language, intended primarily for issuing commands to
interactive programs such as text editors, debuggers, illustrators, and
shells. It has a simple syntax and is also programmable, so Tcl users
can write command procedures to provide more powerful commands than
those in the built-in set.
Second, Tcl is a library package that can be embedded in
application programs. The Tcl library consists of a parser for the Tcl
language, routines to implement the Tcl built-in commands, and
procedures that allow each application to extend Tcl with additional
commands specific to that application. The application program
generates Tcl commands and passes them to the Tcl parser for
execution. Commands may be generated by reading characters from an
input source, or by associating command strings with elements of the
application's user interface, such as menu entries, buttons, or
keystrokes. When the Tcl library receives commands it parses them into
component fields and executes built-in commands directly. For commands
implemented by the application, Tcl calls back to the application to
execute the commands. In many cases commands will invoke recursive
invocations of the Tcl interpreter by passing in additional strings to
execute (procedures, looping commands, and conditional commands all
work in this way).
An application program gains three advantages by using Tcl for
its command language. First, Tcl provides a standard syntax: once
users know Tcl, they will be able to issue commands easily to any
Tcl-based application. Second, Tcl provides programmability. All a
Tcl application needs to do is to implement a few application-specific
low-level commands. Tcl provides many utility commands plus a general
programming interface for building up complex command procedures. By
using Tcl, applications need not re-implement these features. Third,
extensions to Tcl, such as the Tk toolkit, provide mechanisms for
communicating between applications by sending Tcl commands back and
forth. The common Tcl language framework makes it easier for
applications to communicate with one another.
Note that Tcl was designed with the philosophy that one should
actually use two or more languages when designing large software
systems. One for manipulating complex internal data structures, or
where performance is key, and another, such as Tcl, for writting
smallish scripts that tie together the C pieces and provide hooks for
others to extend. For the Tcl scripts, ease of learning, ease of
programming and ease of glue-ing are more important than performance or
facilities for complex data structures and algorithms. Tcl was
designed to make it easy to drop into a lower language when you come
across tasks that make more sense at a lower level. In this way,
the basic core functionality can remain small and one need only bring
along pieces that one particular wants or needs.
Tk (current release 3.6) is an extension to Tcl which provides
the programmer with an interface to the X11 windowing system. Note
that Tk has been successfully compiled under X11 R4, X11 R5, X11 R6,
as well as Sun's NeWS/X11 environments.
The author's home ftp site for the Tk source is the directory
<URL:ftp://ftp.cs.berkeley.edu/ucb/tcl/>.
Note that many users will encounter Tk via the ``wish'' command. Wish
is a simple windowing shell which permits the user to write Tcl
applications in a prototyping environment.
Tk 4.0 beta is now available.
Read <URL:http://playground.sun.com/%7Eouster/> for details.
Tk 4.0 is expected to be formally released during the first half of 1995.
Some of the changes planned are:
- A major overhaul of text widgets (embedded windows, horizontal
scrolling, better vertical scrolling, more display options such as
vertical spacing, margins, justification, and baseline offsets).
- An overhaul of bindings, including the binding tags discussed at
last year's workshop and a change in the evaluation mechanism to make
bindings more composable.
- A few other changes to event handling, including a new "fileevent"
command (similar to Mark Diekhans' "addinput") and the ability to
cancel "after" handlers.
- A general-purpose and user-extensible mechanism for images, intended to
handle things like color icons, full-color images, and video.
- Improvements to colormap and visual handling.
- A solution to the X resource id wrap-around problem that tends to cause
errors in long-running applications.
- A bunch of improvements to widgets, including justification in entries and
the ability to have multi-line text in widgets like buttons and labels.
Other things which may appear are:
- support for Motif keyboard traversal highlight rings and
completely overhaul the widget bindings to bring them into better Motif
compliance. Emacs-like bindings will also be provided for entries and
texts where they don't conflict with Motif bindings.
- Application embedding (like Sven Delmas' "tksteal" stuff, I think).
- Overhauls of the send command, the selection, and the input focus
mechanism.
The future of Tcl and Tk is quite bright. This year Dr. Ousterhout
announced that he has been employed by Sun Microcomputer, Inc. to do
some further development of Tcl / Tk. Some of the short term (within the
next 12 months or so) plans that Dr. O has mentioned are:
- Ports of Tcl and Tk to both the PC and Mac, so scripts written on one
platform will run on any of the others, presenting their UI in the look
and feel of the platform on which they run.
- A commercial-quality graphical interface designer like Visual Basic or
NextStep.
- Dynamic loading of C code in Tcl.
- Incorporating Nathaniel Borenstein's Safe-Tcl back into the Tcl core,
so that there is a safe mechanism for executing untrusted scripts that
arrive via the Internet.
John has given me permission to add this quote as well:
>From: ouster@tcl.eng.sun.com (John Ousterhout)
>Newsgroups: comp.lang.tcl
>Subject: Re: The future of TcL/Tk's Copyright Terms
>Date: 31 Aug 1994 20:08:19 GMT
>Organization: Sun Microsystems, Inc.
>Message-ID: <342nvj$6e9@engnews2.Eng.Sun.COM>
> I discussed the status of the Tcl and Tk libraries with people at Sun
> as part of my pre-hire negotiations, and we're in agreement that they
> will remain free and unrestricted just as they have always been. Future
> enhancements made to Tcl and Tk by my group at Sun, including the ports
> to Macs and PCs, will be made freely available to anyone to use for
> any purpose. My view, and that of the people I report to at Sun, is
> that it wouldn't work for Sun to try to take Tcl and Tk proprietary
> anyway: someone (probably me, in a new job) would just pick up the
> last free release and start an independent development path. This
> would be a terrible thing for everyone since it would result in
> incompatible versions.
> Of course, Sun does need to make money from the work of my team or else
> they won't be able to continue to support us. Our current plan is to
> charge for development tools and interesting extensions and applications.
> Balancing the public and the profitable will be an ongoing challenge for
> us, but it is very important both to me and to Sun to keep the support
> of the existing Tcl community. I imagine this discussion will repeat
> from time to time over the next few years, but I think we can make things
> work out well for everyone.
See <URL:http://www.utdallas.edu/acc/glv/Tcl/usenix95-bof.html> for
more details.
John also has asked me to mention the following:
> there
> are now pages containing release notes. The best thing is just to
> refer people to my home page, which is:
> http://playground.sun.com/~ouster
> That page is stable, and it will have pointers to other interesting
> things, such as release information. At some point over the next
> month or two, all my Web stuff is going to move to a new machine,
> using one of the following URLs:
> http://www.smli.com/tcl
> http://www.smli.com/research/tcl
> http://www.smli.com/research/~ouster
> You might put a notice about this in the FAQ to help people who see
> the FAQ after we reorganize.
Extended Tcl (tclX) (Version 7.3b) - This is an extended set of
commands for Tcl developed by Karl Lehenbauer and Mark Diekhans. The
authors' home ftp site for Extended Tcl is <URL:ftp://ftp.neosoft.com>.
Extended Tcl is oriented towards system programming tasks, with many additional
interfaces to the Unix operating system along with other useful
utilities.
Rush is a Tcl-like extension language announced at the Tcl'94
Workshop. Its syntax and semantics are very similar to Tcl's, but it
additionally offers an optimizing compiler and a new feature called rules.
Its primary advantage over Tcl is performance within a factor of 100 of C,
whereas a Tcl compiler is unlikely to do better than a factor of 1000 of
C. Rush is not yet publicly available, though ambitious alpha testers
are encouraged to inquire. Mail can be sent to either
<URL:mailto:asah@cs.berkeley.edu> or <URL:mailto:blojo@cs.berkeley.edu>.
For more information, see the paper
<URL:ftp://ginsberg.cs.berkeley.edu/pub/asah/papers/rush-tcl94.ps.gz>.
o General information about Tcl and Tk by <URL:mailto:glv@utdallas.edu>
(Glenn Vanderburg)
Tcl (Tool command language) is a freely distributable simple,
interpreted language designed to be used as a common extension and
customization language for applications. It was designed and
implemented by Dr. John Ousterhout in the hope that application
designers could spend more of their time on applications and less on
scripting languages, and in the hope that users could spend less time
learning new scripting languages for each new application. Many useful
applications, some of them sold commercially, use Tcl as their
scripting language.
Tcl is clean and regular, and relatively easy for non-hackers to
learn. It is command-oriented, and commands added by applications and
users exist on an equal footing with the built-in Tcl commands. Tcl
has both simple variables and associative arrays (tables), and all
values (including procedure bodies) are represented as strings.
Simple customization scripts (such as preference initialization
scripts) usually look much like novice users expect them to: a series
of simple commands which set options.
Tcl is implemented as a C library, which can be embedded in an
application. The application can add its own commands to the
interpreter (using a clean C interface). It is distributed under a
license which allows use for any purpose with no royalties.
The Tk toolkit is a Tcl extension (a group of new Tcl commands) which
provides a Tcl interface to the X Window System. Tk is one of the
easiest ways to build a graphical interface to an application, and due
to the interpreted nature of Tcl, Tk-based interfaces tend to be much
more customizable and dynamic than those built with one of the C- or
C++-based toolkits. Tk implements the Motif look and feel. A number
of interesting X applications are implemented entirely in Tk, with no
new application-specific commands at all. Tk also provides a
mechanism by which one application can send Tcl scripts to other
Tk-based applications running on the same display, for easy
cooperation between tools.
Tcl and Tk are mature, and quite stable, but they are not static:
Dr. Ousterhout has moved from Berkeley to Sun Microsystems, where his
group is pursuing such projects as a commercial-quality Tk
graphical interface designer, an on-the-fly Tcl compiler, and
Macintosh and Microsoft Windows ports of Tk. He has said that the
copyright status and licensing provisions of Tcl and Tk will not change.
As to what Tcl is not - in the context of the discussion in
comp.lang.tcl, it is not related directly to the Think C Library (TCL)
available on the Mac. Confusingly enough, the language concerned with
here _is_ available on the Mac, and someone in fact may have used Think C
to compile it there. Just one of those universal 'coincidences' that
set the stage for Vogon interstellar highway construction crews.
Also, Oracle has a product called Tk2Motif which has nothing to do with
Tcl or Tk as we are referring to it.
------------------------------
From: FAQ General information
Subject: -III- Do these packages run on my machine?
A. Unix
Tcl runs on Sun 3s and 4s running SunOS 4 and SunOS 5 (Solaris
1.x and 2.x), DECstations running Ultrix, DEC VAXen running Ultrix or
BSD, DEC Alphas running OSF/1, 386s running SCO Unix, Xenix, Bell-Tech,
Silicon Graphics running IRIX, all sorts of HPs running HP-UX (even HP Snakes
running OSF/1 and HP-UX). Intel [34]86 systems running
386bsd, netbsd, freebsd, BSDI, and Linux have Tcl ported. Various CPUs
running System V.4 report having ported Tcl. Tcl also appears to be
running on Sequent Symmetry running Dynix as well as OSF/1. It also
has been reported to run fine on IBM RS6000 under AIX 3.x as well as
IBM ES/9000 and AIX/ESA. There were few problems getting it running
under Mt. Xinu Mach. It also has been ported to Encore 91's running
UMAX V (an 88k based System V with BSD extension Unix). It also runs
on Apollos running BSD/SYSV. Tcl runs on a Cray running Unicos. Folks
have ported Tcl to a Mac (IIfx) running A/UX v3. Someone ported Tcl to
a Sony NeWS machine running NEWS-OS 4.2. A port to a Convex 3220 and
3880 was also reported. A port to Tenon MachTen 2.1VM, running on a Mac II
which was running MacOS System 7.1, has been reported. The autoconfig
did most of the work. Tk has not been in this environment yet.
Tcl also runs on Supermax Motorola/MIPS based multiprocessors
under SMOS.
Tk (being based on Tcl) generally requires X11R4 or better as
the only additional software requirement. It runs on any of the above
Unix systems with that base of software. It also runs on VMS and
OSF/1.
For information on Tcl/Tk/TclX availability (see "tcl-faq/part4").
B. MacOS
(See "tcl-faq/part2") for details of a Macintosh Tcl Mailing list.
Ray Johnson <URL:mailto:raymond.johnson@eng.sun.com> has a
package called MacTcl. This is a fairly straight port of Tcl to the
Macintosh. It is designed to be used as libraries to be embedded into
other applications. A basic shell is included. Most Tcl features are
present, including many Unix-like features. Additional features
include supporting the env variable and sourcing Tcl code from a
resource. The current version is available at
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/MacTcl7.3.sea.hqx>.
As of this time, I have no leads on anyone porting Tk to MacOS.
I also have not heard of anyone porting Tcl/Tk to a Apple PowerMac.
Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
for the latest port locations and versions.
C. INTEL DOS-like systems
Numerous ports to DOS are available. One unsupported port to
MS-DOS of Tcl and Extended Tcl V6.0a, done by
<URL:mailto:Karl@NeoSoft.com> (Karl Lehenbauer), is available on
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/dostcl.zoo> for binaries and
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/dostcl60.zoo> for source.
A port of Tcl V6.2 to MS-DOS was done by
<URL:mailto:johnm@cajal.uoregon.edu> (John Martin) and is available via FTP
from <URL:ftp://cajal.uoregon.edu/pub/tcl.dos.port/> and
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/tcl62.dos.tar.Z>.
A source code only port of Tcl V6.7 to MS-DOS, done by
<URL:mailto:PSPRENG@CIPVAX.BIOLAN.UNI-KOELN.DE> (Peter Sprenger), is available
from him, somewhere on wuarchive.wustl.edu or as
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/tcl67dos.zip>.
A port of Tcl, version 7.3, to MS-DOS, done by
<URL:mailto:tpoind@advtech.uswest.com> (Tom Poindexter), is available as
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/mstcl73e.zip> and
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/mstcl73s.zip>. This
also includes TclX 7.3a and Tk ported to Desqview/X libraries.
A port of Tcl, V6.1 ?, done by unknown, to MS-DOS Windows
V 3.1 ?, is available as binary at
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/w_tclbin.zip> and as source at
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/w_tclsrc.zip>.
A package to take a Tcl source distribution and port it cleanly
to MS-DOS, so that it can be compiled has been written by
<URL:mailto:byennaco@east.sun.com> (Bob Yennaco). It is available as
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/tcl2dos.sh.gz>
An MS-DOS Windows DLL instance of Tcl 6.2 was generated by
<URL:mailto:ugo@oliver.sublink.org> (Ugo Cei). Contact him for more details.
A Windows DLL was made by <URL:mailto:ekki@prakinf.tu-ilmenau.de>
(Ekkehard Beier) by slightly modifying a DOS 6.2 Tcl port. There are still
problems with the system/WinExec command. A very rudimentary Debugger
User Interface using Borland's Classlib is part of the zip-file, too.
The source was used also with BC3.1++/AF on MS W3.1. You can get a copy from
<URL:ftp://metallica.prakinf.tu-ilmenau.de/pub/DOS/wintcl.zip>
via anonymous ftp. Unfortunately Ekki doesn't have time currently to
finish the Windows port and user Interface.
<URL:mailto:haga@sra.co.jp> (Toshihiko Haga) and
<URL:mailto:miyata@sra.co.jp> (Shigeaki Miyata)
announced twin (tcl/tk for MS-Windows), which does not support exec and
send, but supports a -bitmap for Windows .bmp files. A few other
modifications or special exceptions are noted. This package's files
can be found at
<URL:ftp://ftp.sra.co.jp/pub/lang/tcl/{twinesrc,twinebin}.zip> and
<URL:ftp://ftp.sra.co.jp/pub/lang/tcl/{twinesrc,twinebin}.doc>.
<URL:mailto:ken@ms.uky.edu> (Professor Ken K. Kubota) has
announced a port of Tcl 7.3 and Tk3.6a to MS DOS Windows using Borland
C++ 4.0. Fetch the README files from the ftp sites
<URL:ftp://ftp.ms.uky.edu/pub/tk-win/{tkwinbin,tkwin,fedloc}.zip> for
more information.
Omar Stanford <URL:mailto:omar@fcm.missouri.edu> reported in
March of 1994 that he had almost completed his port of Tcl 7.3
to MS-Windows 3.1. He had incorporated extensions for networking
(including NetWare), Windows Sockets, and many Windows API functions.
He also was working on a facility for dynamically allocating commands
to the Tcl environment. If there are other extensions that one would
like to see under Windows 3.1, or if you are interested in beta
testing, drop him a line.
Also, Simon Kenyon <URL:mailto:simon@news.itc.icl.ie> of the
Information Technology Centre, Dublin, IRELAND, mentions that they
are starting to port Tk to MS-Windows. There is a mailing list (see
below) for folk who are interested.
Steve Furr <URL:mailto:furr@qnx.com> reports getting Tcl ported to QNX
without a lot of trouble. He mentions that QNX users who have the
beta X should have gotten a CD-ROM update with Tcl and Tk on the CD.
A port of Tcl 7.3, except for glob or command pipelines, to OS/2 2.x
using C Set++ has been done by <URL:mailto:wwb@wwa.com> (Bud Bach). As of this
date, I have no leads on anyone porting Tk to any version of OS/2. There are
some OS/2 X client support kits available for purchase, which might make it
easier to port Tk.
Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
for the latest port locations.
D. VMS
A port of Tcl 7.3 and Tk 3.6 to VMS was done by Angel Li
<URL:mailto:angel@flipper.rsmas.miami.edu>. The files are at
<URL:ftp://mango.rsmas.miami.edu/pub/VMS-tcl/tcl73-tk36-itcl13.tar.Z>
and were compressed with the Unix compress command. The pathname may
be subject to change as I have seen notes from Angel Li mentioning that
BLT 1.6 and the photo widget have also been ported. These were compiled
on an Alpha running OpenVMS T6.1.
A port of Tcl 6.3 onto VMS 5.5 was done by Wolfgang Kechel
<URL:mailto:wolfgang@pr-wiesbaden.de> and Till Imanuel Panzschke. Contact them
directly for assistance.
A port of most of Tcl 6.7 and Tk 3.2 was done by John Kimball
<URL:mailto:jkimball@src.honeywell.com> to VMS 5.5. The files are on
<URL:ftp://src.honeywell.com/pub/tcl67-tk32-on-vms55.tar.Z>.
A port of Tcl 7.0 and Tk 3.3 has being done to VMS on the
VAX and Alpha. These are available as:
<URL:ftp://src.honeywell.com/pub/vms-tcl/tcl70-tk33-on-vms55.tar.Z>
or
<URL:ftp://src.honeywell.com/pub/tcl70-tk33-on-vms55.tar.Z>.
Gerald W. Lester <URL:mailto:gwlester@cpu.com> says the following
_should_ work. If you installed the POSIX package on VMS (its free),
then you should be able to configure and make tcl. To access tcl you
would have to do one of the following: 1) Use the POSIX shell, or 2) do
a "psx tcl". Tcl scripts would not execute directly from DCL; to
execute a script foo.tcl from DCL you would have to do "psx foo.tcl".
DISCLAIMER: I have not built any version of tcl under VMS POSIX, these
comments are based on other work I've done with VMS POSIX.
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/vms-sharable-binaries.tar.gz>
is a version of Tcl/Tk for VMS built as a sharable library. It
includes a dynamic module loading command. Otherwise, it matches the
src.honeywell.com version.
Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
for the latest port locations.
E. AmigaDOS
Karl Lehbauer <URL:mailto:karl@sugar.NeoSoft.com> has indicated that
he started a port of Tcl 3.x to the Amiga. He has a working
version, but is no longer working on it. His version uses the
Amiga's shared libraries and implements the "send" command.
He wrote a MIDI file loader and player as well. Contact him for
further details.
Ty Sarna <URL:mailto:tsarna@endicor.com> has ported Tcl 6.x to the
Amiga. He says:
> I've ported 3.3 and several 6.x versions to the Amiga, and it can be
> done in under and hour if you leave out the "Unix" functionality.
> However, "Unix" functionality includes things like file I/O!
Another Amiga user, <URL:mailto:colas@opossum.inria.fr>
(Colas Nahaboo), mentioned that using Amiga gcc and the PD X server DaggeX
and Xlibs that a port of Tk might be possible.
<URL:mailto:hnm@hermes.bouw.tno.nl> (Marco van der Heiden) has
completed a port to the Amiga, and suggests Amiga developers contact him
by email.
<URL:mailto:wulf@hotdog.ping.de> (Berndt Wulf) reports building Tcl
and Tk on an Amiga system running NetBSD1.0b2, using the sources on the
Walnut Creek Tcl/Tk CD-ROM.
A version of Tcl is apparently available on Fish disk number 447.
I do not have information concerning what version of Tcl this is. It
is my understanding that the Fish disks are available on many of the
Amiga Internet archive sites, one of which is
<URL:ftp://ftp.cso.uiuc.edu/>.
Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
for the latest port locations.
F. NeXT
(See "tcl-faq/tk/part1") for details on getting Tk to compile under
NeXTStep and (see "tcl-faq/usage") for details on getting Tcl to compile.
G. Other
A port to the Apple IIgs and GNO 1.1/GSOS environment is underway.
A beta port of Tcl 7 has been done to VxWorks.
You can find it at
<URL:ftp://thor.atd.ucar.edu/pub/vx/tclvx7.0.v2.tar.gz>
or a name similar (if updates have occurred).
A port to GEOS was attempted, but it was found to be difficult to
run there (except perhaps under the desktop platform) due to resource limits
and constraints.
Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
for the latest port locations.
------------------------------
From: FAQ General information
Subject: -IV- Other than C, what languages can talk to tcl/tk?
A. Shell
There are a number of interfaces which are shell-like. The
first is tclsh, which comes as a sample program implementing a Tcl
interpreter as a part of the Tcl distribution. Another is wish, which
is a shell-like interface that is a part of the Tk package. Many of
the other extensions also build interpreters as well. The tclX extension
is an example - it builds an interpreter called tcl as well as one called
wishx.
B. C++
There is a package called Objectify which can be used to assist
one in turning C++ classes into Tcl object types.
If you wish to use C++ with Tcl then you must have your main()
in a source file that is compiled with a C++ compiler; this will
ensure that the necessary C++ pre-main initialization code is
executed.
You can call tcl and tk routines (or other C code) routines from C++
provided that the function prototypes avoid C++ name mangling by using
the C++ linkage specification :
extern "C" ... prototype ...
Fortunately, tcl.h and tk.h will provide these specifications when
compiled with a C++ compiler and so you can just use them directly.
You can construct your main using normal tcl and tk routines,
or use tkMain.c and tkAppInit.c with minor modifications. Ken Yap's
patch, obtainable from
<URL:ftp://ftp.aud.alcatel.com/tcl/distrib/tk3.2forC++.patch>, is a
patch that allows tk 3.2 main.c and other extension routines to be
compiled with a C++ compiler. Thanks to Ken Yap
<URL:mailto:ken@syd.dit.csiro.au> for this code.
C++ functions and static class member functions can be used to
create Tcl command using Tcl_CreateCommand in the normal way.
Non-static member functions cannot be used so simply, Tcl would
have to supply a "this" pointer.
Check out tcl++.h in Extended Tcl. Based on an original
implementation by Parag Patel, it defines a Tcl interpreter class by
which Tcl interpreters can be created as objects under C++.
Mark Diekhans and Karl Lehenbauer have used this, in
combination with the handle facility in Extended Tcl, to build Tcl
commands around C++ classes.
The Tcl handle facility provides a way to manage table entries
that can be referenced by a textual handle from Tcl code. This is
provided for applications that need to create data structures in one
command, return a reference (i.e. pointer) to that particular data
structure and then access that data structure in other commands. An
example application is file handles.
A handle table was built containing pointers to the instances
of a class that were to be accessed from Tcl, say a class `foo_cl', and
then a "new" command defined that created an instance of that class and
returned a Tcl handle to it. The handle could then passed among Tcl
commands that accessed each member function. The handle is in effect
an explicit `this' pointer.
For example:
set obj [foo_cl::new]
foo_cl::baz $obj "Hello world"
foo_cl::delete $obj
It's not totally object-oriented, but it's still very usable.
C. Modula-3
Norman Ramsey <URL:mailto:elan.uucp!nr> says:
A long time back, Eric Muller posted a Modula-3 interface to
the C Tcl library. I wrote down a Modula-3/Tcl interface that used
Modula-3 types rather than C types, and that used objects to build
closures for commands. I wrote part of the implementation but never
finished it. I have mailed copies to <URL:mailto:carroll@udel.edu>,
who asked the question, and I will post them if there seems to be general
interest.
Also, there is an interface between Tk and Modula-3 that is a part
of the Modula-3 archives on gatekeeper.dec.com, and Tcl-DP and
Modula-3 have been merged.
D. Eiffel
<URL:mailto:stephan@cs.tu-berlin.de> (Stephan Herrmann) says:
... [the tclish package provides] the marriage of two very different
principles by means of combining two programming languages into a
hybrid program architecture.
There are three classes for the user - tcl interpretor, tk application,
and tk window. See <URL:ftp://hepunx.rl.ac.uk/pub/eiffel/tclish> for
details.
E. Ada
<URL:mailto:dennis@dennis.cs.colorado.edu> (Dennis Heimbigner)
introduced an adatcl package which gives Ada programmers access to Tcl
interpreters. (See "tcl-faq/part04") for details of the package.
F. Perl
Two different projects are underway - see comp.lang.perl
for discussions on adding a Tk like interface to Perl version 4 as well
as Perl version 5. This is more an interface based on Tk ideas
than to actual Tcl code from what I understand.
G. Prolog
The package ProTcl is an interface between Prolog and Tcl/Tk.
It works best with ECLiPSe, but the foreign interface of SICStus and Quintus
is also provided. The interface is dynamically loaded into a Prolog process
and it gives access to Tcl commands and to handling Tk events. It is also
possible to call Prolog from Tcl, handle Tk events in Prolog and to
pass Prolog variables back to Tcl. See
<URL:http://www.ecrc.de/eclipse/html/protcl.html> for more details.
H. Other
Work at consolidating Python and Tk is underway - discussion
is proceeding in comp.lang.python on this front as the code is primarily
Python.
Some work relating to the Fresco CORBA interpreter has resulted in a
Tcl-based interpreter which interacts with that environment.
Some work on Tk bindings for the Dylan language are being investigated
as well as Tk bindings for Sather.
Duncan Sinclair <URL:mailto:sinclair@dcs.gla.ac.uk> has details of a
hack into wish.c some hooks for a Tk <-> any language system, and has been
using it for communication with functional languages such as Haskell and
Lazy ML. A paper, plus sample code, is available by ftp from
<URL:ftp://ftp.dcs.gla.ac.uk/pub/glasgow-fp/authors/Duncan_Sinclair/fumx.*>.
The InterLanguage Unification project is a system that promotes
software interoperability via interfaces. It has the ability to allow
Common Lisp, ANSI C, C++, Modula 3 to interact and plans to add Python,
Tcl, and GNU Emacs-Lisp shortly.
Of course the Wafe application environment is designed to make
it easier to do X like applications from within several languages using
Tk as a basis.
There are several interfaces to allow one to interface with SQL
though some are specific to a database such as Oracle.
There is an interpretor for Silicon Graphics machines for SGI's
GL language.
There is an interface to WOOL.
For more details on the above efforts, (see also "tcl-faq/part04").
------------------------------
From: FAQ General information
Subject: -V- What training material is available?
A. Training courses, materials, etc.
1. A text book by John K. Ousterhout is available from Addison Wesley.
It's title is _Tcl and the Tk Toolkit_ and has an ISBN of 0-201-63337-X.
The first printing was in April of 1994. The third printing
was available in mid to lat 1994. The book primarily covers Tcl 7.3 and Tk 3.6.
2. A physical copy of the Tcl / Tk distributed documentation is
available at the Northside Copy Central in Berkeley under the name "TCL" and
is titled "Tcl/Tk Documents". Northside Copy Central is at 1862 Euclid
with a phone of (510) 849-9600. It costs approx. $15-$20 for the book in
a spiral bound, pink cover, clear plastic front and back format.
3. An Expect tutorial by Don Libes has been published. Here is a blurb
from the author himself:
Title: Exploring Expect
Subtitle: A Tcl-Based Toolkit for Automating Interactive Applications
Publisher: O'Reilly and Associates, Inc
ISBN: 1-56592-092-2
Pages: 602
Email orders: <URL:mailto:order@ora.com>
HTTP orders: <URL:http://nearnet.gnn.com/gnn/bus/ora/ordering/index.html>
Credit card orders (M-F 6am-6pm PST): (800) 889-8969 / (707) 829-0515
Mailing Address: O'Reilly & Associates, Inc.
103A Morris Street
Sebastopol, CA US 95472
For all of you who thought that the Expect man page was too long and too
terse at the same time, this book provides relief. "Exploring Expect"
is an introduction and comprehensive tutorial to Expect. Numerous
examples are provided and explained, demonstrating how to save you time
and money. Example topics include how to write patterns, do signal
handling, use Expect as a telnetable daemon, and use Expect with Tk and
other Tcl extensions.
The book also includes an innovative introduction to Tcl - if you've
had trouble using Tcl before, all of a sudden, it will make a lot more
sense. And while Exploring Expect concentrates primarily on using
Expect with Tcl, programmers attempting to automate interactive
programs using C, Perl, Python, or any other language will find this
book helpful because many of the concepts underlying Expect-like
programming are common to all languages.
Expect book description:
<URL:http://nearnet.gnn.com/gnn/bus/ora/catalog/expect.desc.html>
Front cover art:
<URL:http://nearnet.gnn.com/gnn/bus/ora/catalog/expect.gif>
Errata sheet:
<URL:ftp://ftp.cme.nist.gov/pub/expect/errata>
4. Additional books specifically dealing with Tcl are in the process of
being written. For instance, by Brent Welch, _Practical Programming in
TCL and TK_ is to be published by Prentice Hall.
5. Computerized Processes Unlimited has a combined Tcl/Tclx reference
manual for sale. They also offer courses on Tcl.
(See also "tcl-commercial-faq") for more information.
6. NeoSoft Communications Services teaches introductory and advanced
Tcl courses on site or at their location in Houston, Texas.
(See also "tcl-commercial-faq") for more information.
7. Another upcoming book deals with Tcl and SNMP.
Title: How to Manage Your Network Using SNMP: The Networking Management
Practicum,
Author: Marshall T. Rose and Keith McCloghrie,
Publisher: Prentice Hall,
Publication Date: 1995;
ISBN: 0-13-141517-4.
Describes a Tcl-based SNMP API, and contains several example programs.
(See "tcl-faq/bibliography/part1") for details of more books, magazine
and journal articles, proceedings papers, and thesises relating to the
Tcl family of languages. (See "tcl-faq/commercial-uses/part3") for details
of classes offered commercially.
B. Time-related seminars, conferences, sessions.
1. There have been, in the past, seminars at Usenix and at the MIT X
conference taught by John Ousterhout and others on Tcl and Tk.
(See also "tcl-faq/part02") for the URL to the slides from the most recent
of these presentations by John.
2. University of Maryland Baltimore County is offering
CMSC491C - Special Topics in Computer Science - Scripting Languages.
This is an intro to scripting languages with an emphasis on Perl and
Tcl, but also mentioning sed, awk, etc. Taught by Bob Tarr, Tuesdays
and Thursdays from 5:30-6:45pm. Call (410) 455-2336 (Continuing
Education Department) to sign up as a special non-degree candidate.
Info provided by <URL:mailto:finin@cs.umbc.edu> (Tim Finin).
3. On October 4, 1994, the First International Obfuscated Tcl Code Contest
was announced by <URL:mailto:karrels@sol.acs.uwosh.edu> (Edward L. Karrels).
The rules, judges, dates, etc. remain to be determined. Contact Mr. Karrels
for more details.
4. The third annual Tcl/Tk workshop, co-sponsored by Unisys, Inc.
and the USENIX Association, will be held July 6-8, 1995 in Toronto,
Ontario, Canada. The workshop will consist of invited addresses by
researchers, oral presentations, formal and informal demonstrations.
The deadline for original paper and demos is March 3, 1995. Contact
<URL:mailto:tclpapers@usenix.org) for details concerning format of submissions,
etc.
Registration details can be obtained by contacting
<URL:mailto:w95@system9.unisys.com>
or
Tcl/Tk Workshop 95
c/o Unisys Canada Inc.
61 Middlefield Road
Scarborough, Ontario, M1S 5A9
Canada
(416) 297-2520 (FAX)
Details in terms of format of papers, etc. can
5. Lately folks planning on attending various conferences have
mentions plans on holding BOFs on Tcl/Tk/related extensions and programs.
For instance, a Tcl/Tk BOF/ISIG (Birds of Feather or Informal Special
Interest Group) is being planned for CHI 95, in Denver. If you
are planning on attending a conference this year, check for these types
of activies, as well as sessions dealing with applicatons of Tcl/Tk.
Let the others in comp.lang.tcl know about the event so that others
might also attend. For that matter, consider scheduling a Tcl/Tk
event yourself if you are so inclined!
6. Two Tcl/Tk classes are scheduled for the Dallas area.
-> Building Applications with Tcl/Tk
May 15-17, 1995
-> Object-Oriented Programming with [incr Tcl]
May 18-19, 1995
INSTRUCTOR: Michael J. McLennan
AT&T Bell Laboratories
LOCATION: Convex Education Center
17919 Waterview Pkwy
Dallas, TX 75252
>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>> DEADLINE FOR FINAL REGISTRATION: May 10, 1995 <<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[ ] Building Applications with Tcl/Tk
May 15-17, 1995
COST: $1050.00
[ ] Object-Oriented Programming with [incr Tcl]
May 18-19, 1995
COST: $700.00
NOTE: Please call Sharon Lymych at (610)712-3488 for registration info.
------------------------------
From: FAQ General information
Subject: -VI- Where do I report problems, bugs, or enhancements - or -
What is comp.lang.tcl?
There are two alternatives for reporting bugs and problems.
The first is the Usenet news group <URL:news:comp.lang.tcl>, an unmoderated
Usenet newsgroup, created for the discussion of the Tcl programming language
and tools that use some form of Tcl, such as: the Tk toolkit for the X window
system, Extended Tcl, and expect. Please note that postings of source
code to comp.lang.tcl does not automatically get archived on
ftp.aud.alcatel.com (the User Contributions archive site) - if you want
your code to be available, you will need to make arrangements with the
folks there to have it added. See elsewhere in the FAQ for more details on
the user contrib archive site.
The second would be to report problems, suggestions, new
ideas, etc. directly to the author. Email to
<URL:mailto:John.Ousterhout@eng.sun.com> (John Ousterhout)
will reach the author of Tcl and Tk - to find the email
address of the authors of other Tcl/Tk based programs,
(see "tcl-faq/part4"), and (see "tcl-faq/part5").
One question that comes up fairly often concerning comp.lang.tcl
is why it isn't split. The newsgroup varies in traffic, but recently
I have seen it as much as 45 messages a day (counting current cross
postings, etc.) Dr. Ousterhout was the created of the unmoderated
comp.lang.tcl. Currently, no one has come forward with the time and
resources to run a discussion of how a split could be handled, nor
have any moderators stepped forward to take over moderation of a group
such as comp.lang.tcl.announce for instance. So to date, such a question
is good for adding to the existing traffic, but that is about all the
farther things go.
------------------------------
End of comp.lang.tcl Frequently Asked Questions (1/5)
*****************************************************
--
:s Larry W. Virden INET: larry.virden@cas.org
:s <URL:http://www-bprc.mps.ohio-state.edu/cgi-bin/hpp/lvirden_sig.html>
:s Unless explicitly stated to the contrary, nothing in this posting should
:s be construed as representing my employer's opinions.
--
:s Larry W. Virden INET: larry.virden@cas.org
:s <URL:http://www-bprc.mps.ohio-state.edu/cgi-bin/hpp/lvirden_sig.html>
:s Unless explicitly stated to the contrary, nothing in this posting should
:s be construed as representing my employer's opinions.